﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Young3.FMSearch.Core.Entities.GameVersions;
using Young3.FMSearch.Core.Managers;
using Young3.FMSearch.Core.Offsets;
using Young3.FMSearch.Core.Attributes;

namespace Young3.FMSearch.Core.Entities.InGame
{
    //[FMType(UseCache = false)]
    public class Finance : BaseObject
    {
        public Finance(int memoryAddress, IVersion version)
            : base(memoryAddress, version)
        { }
                public Finance(int memoryAddress, ArraySegment<byte> originalBytes, IVersion version)
            : base(memoryAddress, originalBytes, version)
        { }

        [FMEntityAttribute(FinancialOffsets.Balance)]
        public int Balance { get; set; }

        [FMEntityAttribute(FinancialOffsets.RemainingTransferBudget)]
        public int RemainingTransferBudget { get; set; }

        [FMEntityAttribute(FinancialOffsets.SeasonTransferBudget)]
        public int SeasonTransferBudget { get; set; }

        [FMEntityAttribute(FinancialOffsets.TransferRevenueMadeAvailable)]
        public sbyte TransferRevenueMadeAvailable { get; set; }

        [FMEntityAttribute(FinancialOffsets.WageBudget)]
        public int WageBudget { get; set; }

        [FMEntityAttribute(FinancialOffsets.YoungWageBudget)]
        public int YoungWageBudget { get; set; }

        [FMEntityAttribute(FinancialOffsets.WageBudgetUsed)]
        public int UsedWage { get; set; }

        [FMEntity(FinancialOffsets.SugarDaddy)]
        public Byte SugarDaddy { get; set; }
    }
}
